

package jnpf.htgl.model.zcglhtglinfo;

import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.htgl.entity.*;
import lombok.Data;
import org.simpleframework.xml.Transient;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 合同管理新增 校验实体类
 *
 * @版本： V3.2.0
 * @版权： 智果云科技（https://www.jnpfsoft.com）
 * @作者： JNPF开发平台组
 * @日期： 2025-01-12
 */
@Data
public class ZcglHtglInfoFormCheck {
    /** 主键 */
    private String id;

	/** 流程状态 **/
	@JsonProperty("status")
	private String status;

	private Map<String, List<String>> candidateList;

	private Integer flowUrgent = 1;

    /** 合同编号 **/
    @JsonProperty("contractNumber")
    private String contractNumber;

    /** 合同类型 **/
    @JsonProperty("contractType")
    private String contractType;

    /** 项目 **/
    @JsonProperty("project")
    private String project;

    /** 关联合同 **/
    @JsonProperty("relatedContracts")
    private String relatedContracts;

    /** 签订日期 **/
    @JsonProperty("signingDate")
    private String signingDate;

    /** 生效日期 **/
    @JsonProperty("effectiveDate")
    private String effectiveDate;

    /** 房屋用途 **/
    @JsonProperty("purposeHouse")
    private String purposeHouse;

    /** 合同经办人 **/
    @JsonProperty("contractHandler")
    private String contractHandler;

    /** 是否为历史合同 **/
    @JsonProperty("ihis")
    private String ihis;

    /** 备注 **/
    @JsonProperty("notes")
    private String notes;

    /** 甲方名称 **/
    @JsonProperty("partyName")
    @NotNull(message = "甲方名称不能为空")
    private String partyName;

    /** 甲方营业执照 **/
    @JsonProperty("partyBusinessLicense")
    private String partyBusinessLicense;

    /** 甲方联系人 **/
    @JsonProperty("partyContacts")
    private String partyContacts;

    /** 甲方联系方式 **/
    @JsonProperty("partyContactInformation")
    private String partyContactInformation;

    /** 合同起始日期 **/
    @JsonProperty("startTime")
    @NotNull(message = "合同起始日期不能为空")
    private Date startTime;

    /** 合同结束日期 **/
    @JsonProperty("endTime")
//    @NotNull(message = "合同结束日期不能为空")
    private Date endTime;

    /** 交费期限类型 **/
    @JsonProperty("paymentDeadlineType")
    private String paymentDeadlineType;

    /** 交费期限日 **/
    @JsonProperty("paymentDeadline")
    private String paymentDeadline;

    /** 交费期限状态 1工作日2自然日 **/
    @JsonProperty("paymentDeadlineStatus")
    private String paymentDeadlineStatus;

    /** 交费期限日指定日期 **/
    @JsonProperty("paymentZdrq")
    private String paymentZdrq;

    /** 描述 **/
    @JsonProperty("description")
    private String description;

    /** 创建用户 **/
    @JsonProperty("creatoruserid")
    private String creatoruserid;

    /** 资产ids 乙方经营空间选择的时候传输 **/
    @JsonProperty("zcIds")
    private String zcIds;

    /** 合同附件 **/
    @JsonProperty("htFile")
    private String htFile;

    /** 乙方数据 **/
    @JsonProperty("zcgl_htgl_pab")
    @NotNull(message = "乙方数据不能为空")
    private List<ZcglHtglPabModel> zcgl_htgl_pab;

    /** 乙方经营空间 **/
    @JsonProperty("zcgl_htgl_pab_space")
    private ZcglHtglPabSpaceEntity zcgl_htgl_pab_space;

    /** 乙方租金费用条款 **/
    @JsonProperty("zcgl_htgl_pab_fytk")
    private List<ZcglHtglPabFytkEntity> zcgl_htgl_pab_fytks;

    /** 乙方押金条款 **/
    @JsonProperty("zcgl_htgl_pab_yjtk")
    private ZcglHtglPabYjtkEntity zcgl_htgl_pab_yjtk;

    /** 乙方车位条款 **/
    @JsonProperty("zcgl_htgl_pab_cwtk")
    private ZcglHtglPabCwtkEntity zcgl_htgl_pab_cwtk;

    /** 乙方违约条款 **/
    @JsonProperty("zcgl_htgl_pab_wytk")
    private ZcglHtglPabWytkEntity zcgl_htgl_pab_wytk;

    /** 合同收款计划 **/
    @JsonProperty("zcgl_htgl_skjh")
    private List<NewZcglHtjhSkjhVO.SkjhEntity> zcgl_htgl_skjhs;

    /** 其他收款账户 **/
    @JsonProperty("zcgl_htgl_qtskzhs")
    private List<ZcglHtglQtskzhEntity> zcgl_htgl_qtskzhs;

    /** 其他约定条款 **/
    @JsonProperty("zcgl_htgl_qtydtks")
    private List<ZcglHtglQtydtkEntity> zcgl_htgl_qtydtks;

    @Transient
    String title;

    /** 是否属于久小场所 是/否 **/
    @JsonProperty("isLongTermPlace")
    private String isLongTermPlace;

    /** 递增数值类型 具体值-百分比**/
    @JsonProperty("incrementalType")
    private String incrementalType;

    /** 递增具体值 **/
    @JsonProperty("incrementalNum")
    private String incrementalNum;


}
